//
//  UIDevice+WBHardWare.h
//  WeatherBar
//
//  Created by Bert on 2024/6/25.
//

#import <UIKit/UIKit.h>
typedef NS_ENUM(NSUInteger,WBNetworkType) {
    WBNetworkTypeUnknown,
    WBNetworkTypeWifi,
    WBNetworkTypeWwan,
    WBNetworkType2G,
    WBNetworkType3G,
    WBNetworkType4G,//getIdfaOrIdfv
    WBNetworkType5G,
};

NS_ASSUME_NONNULL_BEGIN

@interface UIDevice (WBHardWare)
+ (NSString *)wb_devicePhoneNum;
/// 获取运行商信息
+(NSArray *)wb_carrierNames;
/// 获取平台信息
+(NSString *)wb_platform;
/// 转化后的手机型号
+ (NSString *)wb_platformString;
/// 几英寸屏幕
+ (NSString *)wb_screenInches;
/// mac地址
+(NSString *)wb_macaddress;
/// IDFA地址
+(void)wb_getIdfaCompletion:(void ((^)(NSString * idfa)))completion;
/// 是否是模拟器
+(BOOL)wb_isSimulator;
/// 获取IMEI 设备识别码
+(NSString*)wb_getImei;

+(NSString *)wb_getIdfaOrIdfv;

/// 获取设备 UUID
+ (NSString*)wb_createUUID;

+ (NSString *)wb_getZuid;

/// 获取IP地址
+(NSString *)wb_getDeviceIPAdress;
/// App状态 是否使用wifi
+ (BOOL)wb_isUsingWifi;
/// App状态 是否无网
+ (BOOL)wb_isNoNetConnection;
/// App网络状态
+ (NSString *)wb_getNetworkReachabilityStatus;



//Return the current device CPU frequency
+ (NSUInteger)wb_cpuFrequency;
// Return the current device BUS frequency
+ (NSUInteger)wb_busFrequency;
//current device RAM size
+ (NSUInteger)wb_ramSize;
//Return the current device CPU number
+ (NSUInteger)wb_cpuNumber;
//Return the current device total memory

/// 获取iOS系统的版本号
+ (NSString *)wb_systemVersion;
/// 判断当前系统是否有摄像头
+ (BOOL)wb_hasCamera;
/// 获取手机内存总量, 返回的是字节数
+ (NSUInteger)wb_totalMemoryBytes;
/// 获取手机可用内存, 返回的是字节数
+ (NSUInteger)wb_freeMemoryBytes;

/// 获取手机硬盘空闲空间, 返回的是字节数
+ (long long)wb_freeDiskSpaceBytes;
/// 获取手机硬盘总空间, 返回的是字节数
+ (long long)wb_totalDiskSpaceBytes;

/// 获取当前使用网络的名称
+ (NSString *)wb_getNetworkType;

@end

NS_ASSUME_NONNULL_END
